logo
PDF Print E-mail

Desenvolvimento de Aplicações Paralelas com Threading Building Blocks
Marcelo Fornazin (UNESP-SP)*
4h

Este mini-curso apresenta a biblioteca Threading Building Blocks (TBB) e seus modelos do programação. Serão discutidas características da TBB, aplicações e modelos de uso como parallel_for, pipeline, concurrent_vector, etc.

Ementa:

  • Introdução
  • Evolução dos processadores x86
  • Modelos de Programação Paralela
  • Threading Building Blocks
    •   Características
    •   Aplicações
    •   Exemplo
  • Modelos de Programação com TBB
    •   parallel_for
    •   pipeline
    •   concurrent_vector
    •   task

* Marcelo Fornazin é Mestre em ciência da Computação pela UNESP, atualmente trabalha com desenvolvimento e otimização de software na MStech. É docente em linguagens de programação na Universidade do Sagrado Coração (USC) e desenvolve pesquisas em computação no Laboratório de Tecnologia da Informação Aplicada (LTIA/UNESP).

 


Apresentação de Programação Paralela na Plataforma Microsoft
Alexandre Nardi (Microsoft)* e Nicolas Maillard (UFRGS)**
2h

A evolução do desenvolvimento do hardware na direção de processadores multicore abriu novas possibilidades para o uso crescente de programação paralela. No entanto, diferentemente do que ocorre com a programação para um único core, existem diversos fatores que tornam a programação mais complexa, como bloqueios, concorrência por outros recursos, testes, e assim por diante. Nesse mini-curso, apresentaremos algumas possibilidades na plataforma Microsoft, como o uso do OpenMP, da Parallel Pattern Library (PPL), do Concurrency Runtime (ConcRT) e do .NET Parallel Extensions. Veremos ainda a solução do HPC, com o MPI sendo usado com e sem o .NET. Os participantes terão a oportunidade de experimentar e testar o ambiente de programação em diversos cenários, com isso sendo capazes de avaliar esse tipo de desenvolvimento.

* Alexandre Ricardo Nardi é Gerente de Novas Tecnologias para o Setor Acadêmico da Microsoft Brasil. Atualmente responsável pelos programas acadêmicos de acesso a software e relacionamento com o corpo docente. Trabalhou como Arquiteto de Soluções na Microsoft Brasil, Consultor e Gerente de Projetos. Formado em Ciência da Computação pela USP, está cursando o Doutorado em Ciência da Computação, na área de Sistemas Distribuídos.

** Nicolas Maillard possui gradução e mestrado em Matemáticas Aplicadas e Informática - ENSIMAG, Grenoble, França (1996),  e doutorado em Ciências e Tecnologias da Informação - Univ. Joseph Fourier (2001). Atualmente, é professor adjunto da Universidade Federal do Rio Grande do Sul, onde leciona Sistemas Operacionais I e Compiladores na graduação, além de duas disciplinas no Programa de Pós-Graduação em Ciência da Computação, sobre programação e algoritmos paralelos. Tem experiência na área de Ciência da Computação, com ênfase em Processamento paralelo de alto desempenho, atuando principalmente nos seguintes temas: processamento de alto desempenho, computação em Clusters e Grids, MPI, escalonamento de processos.

 

Linguagens de Domínios Específico: O Que São, Quando e Como Utilizar
André Santos* e André Furtado** (CIn/UFPE)
2h

A palestra vai apresentar o conceito de Linguagens de Domínio Específico (DSLs - Domain Specific Languages), muito úteis para o aumento de produtividade em contextos em que desenvolvemos várias aplicações para um mesmo domínio (por exemplo, no contexto de fábricas de software). Além disso, elas facilitam a interação e integração entre usuário e desenvolvedor, aproximando-os com uma linguagem de fácil entendimento comum. Apresentaremos os motivos que levam à criação de uma DSL e o processo de criação e de uso de DSLs. Também apresentaremos ferramentas que apoiam a criação de DSLs, e exemplos de uso.

* André Santos é PhD pela Universidade de Glasgow, Escócia,e atualmente é professor adjunto do Centro de Informática da Universidade Federal de Pernambuco, atuando nas áreas de linguagens de programação e engenharia de software.

** André Furtado é mestre e doutorando em Ciência da Computação pela UFPE, e Software Developer Engineer in Test (SDET) na Microsoft Corp.


Last Updated ( Saturday, 16 August 2008 02:52 )